/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.kaetec.services;

import br.com.kaetec.dao.ClienteDAO;
import br.com.kaetec.dao.ContatoDAO;
import br.com.kaetec.entities.Cliente;
import br.com.kaetec.entities.Contato;
import java.sql.SQLException;
import java.util.List;
/**
 *
 * @author Sergio Artero
 */
public class ClienteService {
    
    private ClienteDAO dao;
    private ContatoDAO contatoDAO;
    
    public ClienteService(){
        dao = new ClienteDAO();
    }
    
    public boolean salvar(Cliente cliente) {
		
        boolean isTransactionOk = false;
        
        if ( cliente.getId() > 0 ){
                isTransactionOk = dao.atualiza(cliente);
        }else {
                isTransactionOk = dao.adiciona(cliente);
        }
        
        return isTransactionOk;
		
    }
    
    public void excluir(Cliente cliente) throws SQLException{
        if (cliente.getId() <= 0) throw new SQLException("Cliente não armazenado no banco de dados!");
        
        dao.exclui(cliente);
        
    }

    public List<Contato> getContatos( Cliente cliente) {
        contatoDAO = new ContatoDAO();
        List<Contato> contatos = contatoDAO.getContatosFromClienteId(cliente);
        return contatos;
    }
    
    public List<Cliente> getAllClientes(){
        List<Cliente> clientes = dao.getLista();
        return clientes;
    }

    public boolean excluirClienteForId(long idCliente) {
        return dao.excluiForId(idCliente);
    }

    public Cliente getClienteForId(long id) {
        return dao.getClienteForId(id);
    }
    
}
